/**
 *
 */
package com.zhuoyue.elmt.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.eit.eitsite.common.persistence.DataEntity;

/**
 * 设备信息Entity
 * @version 2016-12-18
 */
public class GgSbjc extends DataEntity<GgSbjc> {
	
	private static final long serialVersionUID = 1L;
	private String tzsbbh;		// 特种设备编号
	private String sbmc;		// 设备名称
	private String sbzl;		// 设备种类
	private String sbpz;		// 设备品种
	private String sbzcdm;		// 设备注册代码
	private String sydwdm;		// 使用单位代码
	private String azdwdm;		// 安装单位代码
	private String zzdwdm;		// 制造单位代码
	private String wbdwdm;		// 维保单位代码
	private String yxzt;		// 运行状态
	private String sbbh;		// 申报编号
	private String jkjb;		// 监控级别
	private String ccgb;		// 出产国别
	private String dwnbbh;		// 单位内部编号
	private String sbsyqy;		// 设备使用区域
	private String sbsydd;		// 设备使用地点
	private String sbxh;		// 设备型号
	private Date zzrq;		// 制造日期
	private String ccbh;		// 出厂编号
	private Date trsyrq;		// 投入使用日期
	private Date tyrq;		// 停用日期
	private String jd;		// 经度
	private String wd;		// 纬度
	private String bz;		// 备注
	private Date zcrq;		// 注册日期
	private String sblb;		// 设备类别
	private String jybm;		// 检验部门
	private String xlgzdwdm;		// 修理改造单位代码
	private String dxgzdwdm;		// 大修改造单位代码
	private String syzh;		// 使用证号
	private String aqglry;		// 安全管理人员
	private String zj;		// 座机
	private String sj;		// 手机
	private String cz;		// 传真
	private String sbxz;		// 设备性质：法定设备、制造设备、委托设备
	private String qpSydw;		// 气瓶使用单位
	private String xmbm;		// 政府投资项目编码
	private String sbszcs;		// 设备所在场所
	private Date wbhtksrq;		// 维保合同开始日期
	private Date wbhtjsrq;		// 维保合同结束日期
	private String remark; // 备注

	private Date halfmonthMainDate;
	private Date quarterMainDate;
	private Date halfyearMainDate;
	private Date yearMainDate;
	private Date nearMainDate; // 最近一次维保时间
	
	public GgSbjc() {
		super();
	}

	public GgSbjc(String id){
		super(id);
	}

	@Length(min=1, max=11, message="特种设备编号长度必须介于 1 和 11 之间")
	public String getTzsbbh() {
		return tzsbbh;
	}

	public void setTzsbbh(String tzsbbh) {
		this.tzsbbh = tzsbbh;
	}
	
	@Length(min=0, max=60, message="设备名称长度必须介于 0 和 60 之间")
	public String getSbmc() {
		return sbmc;
	}

	public void setSbmc(String sbmc) {
		this.sbmc = sbmc;
	}
	
	@Length(min=0, max=10, message="设备种类长度必须介于 0 和 10 之间")
	public String getSbzl() {
		return sbzl;
	}

	public void setSbzl(String sbzl) {
		this.sbzl = sbzl;
	}
	
	@Length(min=0, max=10, message="设备品种长度必须介于 0 和 10 之间")
	public String getSbpz() {
		return sbpz;
	}

	public void setSbpz(String sbpz) {
		this.sbpz = sbpz;
	}
	
	@Length(min=0, max=21, message="设备注册代码长度必须介于 0 和 21 之间")
	public String getSbzcdm() {
		return sbzcdm;
	}

	public void setSbzcdm(String sbzcdm) {
		this.sbzcdm = sbzcdm;
	}
	
	@Length(min=0, max=20, message="使用单位代码长度必须介于 0 和 20 之间")
	public String getSydwdm() {
		return sydwdm;
	}

	public void setSydwdm(String sydwdm) {
		this.sydwdm = sydwdm;
	}
	
	@Length(min=0, max=20, message="安装单位代码长度必须介于 0 和 20 之间")
	public String getAzdwdm() {
		return azdwdm;
	}

	public void setAzdwdm(String azdwdm) {
		this.azdwdm = azdwdm;
	}
	
	@Length(min=0, max=100, message="制造单位代码长度必须介于 0 和 100 之间")
	public String getZzdwdm() {
		return zzdwdm;
	}

	public void setZzdwdm(String zzdwdm) {
		this.zzdwdm = zzdwdm;
	}
	
	@Length(min=0, max=20, message="维保单位代码长度必须介于 0 和 20 之间")
	public String getWbdwdm() {
		return wbdwdm;
	}

	public void setWbdwdm(String wbdwdm) {
		this.wbdwdm = wbdwdm;
	}
	
	@Length(min=0, max=10, message="运行状态长度必须介于 0 和 10 之间")
	public String getYxzt() {
		return yxzt;
	}

	public void setYxzt(String yxzt) {
		this.yxzt = yxzt;
	}
	
	@Length(min=0, max=20, message="申报编号长度必须介于 0 和 20 之间")
	public String getSbbh() {
		return sbbh;
	}

	public void setSbbh(String sbbh) {
		this.sbbh = sbbh;
	}
	
	@Length(min=0, max=20, message="监控级别长度必须介于 0 和 20 之间")
	public String getJkjb() {
		return jkjb;
	}

	public void setJkjb(String jkjb) {
		this.jkjb = jkjb;
	}
	
	@Length(min=0, max=100, message="出产国别长度必须介于 0 和 100 之间")
	public String getCcgb() {
		return ccgb;
	}

	public void setCcgb(String ccgb) {
		this.ccgb = ccgb;
	}
	
	@Length(min=0, max=30, message="单位内部编号长度必须介于 0 和 30 之间")
	public String getDwnbbh() {
		return dwnbbh;
	}

	public void setDwnbbh(String dwnbbh) {
		this.dwnbbh = dwnbbh;
	}
	
	@Length(min=0, max=20, message="设备使用区域长度必须介于 0 和 20 之间")
	public String getSbsyqy() {
		return sbsyqy;
	}

	public void setSbsyqy(String sbsyqy) {
		this.sbsyqy = sbsyqy;
	}
	
	@Length(min=0, max=200, message="设备使用地点长度必须介于 0 和 200 之间")
	public String getSbsydd() {
		return sbsydd;
	}

	public void setSbsydd(String sbsydd) {
		this.sbsydd = sbsydd;
	}
	
	@Length(min=0, max=100, message="设备型号长度必须介于 0 和 100 之间")
	public String getSbxh() {
		return sbxh;
	}

	public void setSbxh(String sbxh) {
		this.sbxh = sbxh;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getZzrq() {
		return zzrq;
	}

	public void setZzrq(Date zzrq) {
		this.zzrq = zzrq;
	}
	
	@Length(min=0, max=40, message="出厂编号长度必须介于 0 和 40 之间")
	public String getCcbh() {
		return ccbh;
	}

	public void setCcbh(String ccbh) {
		this.ccbh = ccbh;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTrsyrq() {
		return trsyrq;
	}

	public void setTrsyrq(Date trsyrq) {
		this.trsyrq = trsyrq;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTyrq() {
		return tyrq;
	}

	public void setTyrq(Date tyrq) {
		this.tyrq = tyrq;
	}
	
	@Length(min=0, max=9, message="经度长度必须介于 0 和 9 之间")
	public String getJd() {
		return jd;
	}

	public void setJd(String jd) {
		this.jd = jd;
	}
	
	@Length(min=0, max=9, message="纬度长度必须介于 0 和 9 之间")
	public String getWd() {
		return wd;
	}

	public void setWd(String wd) {
		this.wd = wd;
	}
	
	@Length(min=0, max=1000, message="备注长度必须介于 0 和 1000 之间")
	public String getBz() {
		return bz;
	}

	public void setBz(String bz) {
		this.bz = bz;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getZcrq() {
		return zcrq;
	}

	public void setZcrq(Date zcrq) {
		this.zcrq = zcrq;
	}
	
	@Length(min=0, max=10, message="设备类别长度必须介于 0 和 10 之间")
	public String getSblb() {
		return sblb;
	}

	public void setSblb(String sblb) {
		this.sblb = sblb;
	}
	
	@Length(min=0, max=20, message="检验部门长度必须介于 0 和 20 之间")
	public String getJybm() {
		return jybm;
	}

	public void setJybm(String jybm) {
		this.jybm = jybm;
	}
	
	@Length(min=0, max=20, message="修理改造单位代码长度必须介于 0 和 20 之间")
	public String getXlgzdwdm() {
		return xlgzdwdm;
	}

	public void setXlgzdwdm(String xlgzdwdm) {
		this.xlgzdwdm = xlgzdwdm;
	}
	
	@Length(min=0, max=20, message="大修改造单位代码长度必须介于 0 和 20 之间")
	public String getDxgzdwdm() {
		return dxgzdwdm;
	}

	public void setDxgzdwdm(String dxgzdwdm) {
		this.dxgzdwdm = dxgzdwdm;
	}
	
	@Length(min=0, max=40, message="使用证号长度必须介于 0 和 40 之间")
	public String getSyzh() {
		return syzh;
	}

	public void setSyzh(String syzh) {
		this.syzh = syzh;
	}
	
	@Length(min=0, max=60, message="安全管理人员长度必须介于 0 和 60 之间")
	public String getAqglry() {
		return aqglry;
	}

	public void setAqglry(String aqglry) {
		this.aqglry = aqglry;
	}
	
	@Length(min=0, max=60, message="座机长度必须介于 0 和 60 之间")
	public String getZj() {
		return zj;
	}

	public void setZj(String zj) {
		this.zj = zj;
	}
	
	@Length(min=0, max=60, message="手机长度必须介于 0 和 60 之间")
	public String getSj() {
		return sj;
	}

	public void setSj(String sj) {
		this.sj = sj;
	}
	
	@Length(min=0, max=60, message="传真长度必须介于 0 和 60 之间")
	public String getCz() {
		return cz;
	}

	public void setCz(String cz) {
		this.cz = cz;
	}
	
	@Length(min=0, max=20, message="设备性质：法定设备、制造设备、委托设备长度必须介于 0 和 20 之间")
	public String getSbxz() {
		return sbxz;
	}

	public void setSbxz(String sbxz) {
		this.sbxz = sbxz;
	}
	
	@Length(min=0, max=200, message="气瓶使用单位长度必须介于 0 和 200 之间")
	public String getQpSydw() {
		return qpSydw;
	}

	public void setQpSydw(String qpSydw) {
		this.qpSydw = qpSydw;
	}
	
	@Length(min=0, max=30, message="政府投资项目编码长度必须介于 0 和 30 之间")
	public String getXmbm() {
		return xmbm;
	}

	public void setXmbm(String xmbm) {
		this.xmbm = xmbm;
	}
	
	@Length(min=0, max=20, message="设备所在场所长度必须介于 0 和 20 之间")
	public String getSbszcs() {
		return sbszcs;
	}

	public void setSbszcs(String sbszcs) {
		this.sbszcs = sbszcs;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getWbhtksrq() {
		return wbhtksrq;
	}

	public void setWbhtksrq(Date wbhtksrq) {
		this.wbhtksrq = wbhtksrq;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getWbhtjsrq() {
		return wbhtjsrq;
	}

	public void setWbhtjsrq(Date wbhtjsrq) {
		this.wbhtjsrq = wbhtjsrq;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getYearMainDate() {
		return yearMainDate;
	}

	public void setYearMainDate(Date yearMainDate) {
		this.yearMainDate = yearMainDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getHalfyearMainDate() {
		return halfyearMainDate;
	}

	public void setHalfyearMainDate(Date halfyearMainDate) {
		this.halfyearMainDate = halfyearMainDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getQuarterMainDate() {
		return quarterMainDate;
	}

	public void setQuarterMainDate(Date quarterMainDate) {
		this.quarterMainDate = quarterMainDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getHalfmonthMainDate() {
		return halfmonthMainDate;
	}

	public void setHalfmonthMainDate(Date halfmonthMainDate) {
		this.halfmonthMainDate = halfmonthMainDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getNearMainDate() {
		return nearMainDate;
	}

	public void setNearMainDate(Date nearMainDate) {
		this.nearMainDate = nearMainDate;
	}
}